package com.itcam.reflect_.msb01;

/**
 * Author:Cammy.Wu
 * Date:2024-05-16
 * Description:
 */
/**
 *
 */
public class Test {
    public static void main(String[] args) {
        // 定义一个字符串，用来模拟前台的支付方式
        String str = "支付宝";
        if ("微信".equals(str)) { // str.equals("微信") ———— 避免空指针异常
            // 微信支付
//            new Wechat().payOnline();
            pay(new Wechat());
        }

        if ("支付宝".equals(str)) { // str.equals("支付宝") ———— 避免空指针异常
            // 支付宝支付
//            new AliPay().payOnline();
            pay(new AliPay());
        }

        if ("招商银行".equals(str)) { // str.equals("招商银行") ———— 避免空指针异常
            // 招商银行支付
//            new BankCard().payOnline();
            pay(new BankCard());
        }

    }

    // 微信支付
    public static void pay(Wechat wc) {
        wc.payOnline();
    }

    // 支付宝支付
    public static void pay(AliPay ap) {
        ap.payOnline();
    }

    // 招商银行支付
    public static void pay(BankCard bc) {
        bc.payOnline();
    }
}
